Portable processor-based devices have become very popular in societies around the world. As the popularity of portable electronic devices has increased, so too has consumer dependence on these devices. Consumers now rely on portable electronic devices like cellular telephones, portable computers, and personal digital assistants (PDAs), for example, for everything from voice communication to remote Internet access. Increasingly, consumers demand varied voice and data capabilities in one relatively small device. Manufacturers have responded by producing handheld devices that include increased processing power and rich software applications.
While numerous rich software applications are desirable to consumers, the software applications pose problems for device manufacturers because the software running on a processor, microprocessor, and/or processing unit often changes over time. The changes can result from the need to correct bugs, or errors, in the software files, adapt to evolving technologies, or add new features, to name a few. In particular, embedded software components hosted on mobile processing devices, for example mobile wireless devices, often include numerous software bugs that require correction. Software includes one or more files in the form of human-readable American Standard Code for Information Interchange (ASCII) plain text files or binary code, and software files can be divided into smaller units that are also referred to as modules or components. Consequently, the device/software manufacturer must provide for maintenance/support of the software as the software changes over time.
Obstacles to maintaining and supporting the software of mobile processing devices are many, including the time, bandwidth, and device resources associated with maintaining the software. In considering device resources, delivery of maintenance files to the device and performance of software maintenance in the device must be performed with efficient use of available device resources, including processor cycles and memory, without the demand for an increase in device resources.
Even though semiconductor manufacturing technology has progressed to produce greater capability in ever smaller integrated circuit packages, there is always a demand for more processing power and memory, especially on small devices. For example, if on-board processors and memory are not used efficiently, it may be necessary to provide more physical processors and memory, which increases both size and cost of the device. It is therefore desirable for the device hardware and software to efficiently allocate and use scarce resources, such as processor time and memory.
In the drawings, the same reference numbers identify identical or substantially similar elements or acts. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the Figure number in which that element is first introduced (e.g., element 120 is first introduced and discussed with respect to FIG. 1).